NFS : le partage de fichiers sous Unix

NFS (Network File System) est un protocole standard de partage de répertoires sous Unix/Linux. Dans ce chapitre, nous allons vous apprendre à monter un répertoire partagé par NFS, puis à mettre en partage un répertoire par NFS.

NFS côté client

Monter un répertoire partagé par NFS

Pour monter le répertoire /home/ftp/ partagé par la machine dont le nom DNS est ordi1.exemple.local dans le répertoire /mnt/test déjà crée, utilisez la commande mount :

# mount -t nfs ordi1.exemple.local:/home/ftp /mnt/test

Une fois que vous n'avez plus besoin de ce partage, vous pouvez le démonter :

# umount /mnt/test

Pour que ce répertoire soit monté à chaque démarrage, rajoutez la ligne suivante dans le fichier de configuration /etc/fstab :

# ordi1.exemple.local:/home/ftp /mnt/test nfs soft,timeo=5,intr,rsize=8192,wsize=8192 0 0

Pour comprendre les options, regardez leur description dans man mount.

NFS côté serveur

Configuration nécessaire

Tout d'abord, il faut avoir compilé le module du noyau NFS Server support avec en plus l'option Provide NFSv3 server support.

Il faut également le package nfs-kernel-server :

# apt-get install nfs-kernel-server

Partager un répertoire

Editez le fichier /etc/exports et rajoutez la ligne suivante pour partager le répertoire /home/test/ à la machine ordi2.exemple.local :

/home/test ordi2.exemple.local(rw,root_squash)

L'option rw permet d'exporter en lecture-écriture (utiliser ro pour exporter en lecture seule). L'option root_squash spécifie que le root de la machine ordi2.exemple.local n'a pas les droits de root sur le répertoire partagé (l'option no_root_squash spécifie que le root de la machine sur laquelle le répertoire est monté a les droits de root sur le répertoire). L'option root_squash est l'option par défaut.

L'option rw signifie en réalité que l'utilisateur dont l'ID est 1001 (par exemple...) sur le client NFS a les droits d'écriture sur les fichiers et les répertoires qui appartiennent à l'utilisateur dont l'ID est 1001 sur le serveur NFS. Attention, ces utilisateurs n'ont pas forcément le même nom de compte Unix et ne correspondent pas forcément aux mêmes personnes !

Enfin, demandez à nfs-kernel-server de démarrer :

# /etc/init.d/nfs-kernel-server start

Exporting directories for NFS kernel daemon...done.

Starting NFS kernel daemon: nfsd mountd.

Par la suite, il suffira de lui dire de relire son fichier de configuration après chaque modification :

# /etc/init.d/nfs-kernel-server reload

Re-exporting directories for NFS kernel daemon...done.